Class-dump
一款命令行应用程序,可以反编译出第三方ipa包的类、分类、协议。可以用来学习一些优秀app的设计和实现方式等。
下载
本文下载的是 3.5 (64 bit) 版本的
需要 Mac OS X 10.8 或者以上
安装
- 把下载的
class-dump
(DMG解压后的文件)文件移动到/usr/local/bin
文件夹中 - 赋予
class-dump
文件777
权限后就可以开始使用了
1 | sudo chmod 777 /usr/local/bin/class-dump |
使用
安装完成后再终端输入class-dump --help
可以查看用法1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20class-dump 3.5 (64 bit)
Usage: class-dump [options] <mach-o-file>
where options are:
-a show instance variable offsets
-A show implementation addresses
--arch <arch> choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64)
-C <regex> only display classes matching regular expression
-f <str> find string in method name
-H generate header files in current directory, or directory specified with -o
-I sort classes, categories, and protocols by inheritance (overrides -s)
-o <dir> output directory used for -H
-r recursively expand frameworks and fixed VM shared libraries
-s sort classes and categories by name
-S sort methods by name
-t suppress header in output, for testing
--list-arches list the arches in the file, then exit
--sdk-ios specify iOS SDK version (will look in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk
--sdk-mac specify Mac OS X version (will look in /Developer/SDKs/MacOSX<version>.sdk
--sdk-root specify the full SDK root path (or use --sdk-ios/--sdk-mac for a shortcut)
反编译出ipa
包中的头文件信息
本文以微信读书ipa
书为例,越狱ipa可以在某助手下载,也可以自己砸壳
解压ipa
包,得到解压后的文件
解压后得到的文件
运行命令反编译出头文件
1 | class-dump -H /Users/admin/Desktop/微信读书-2.4.6\(越狱应用\)\ 2/Payload/WeRead.app -o /Users/admin/Desktop/微信读书-2.4.6\(越狱应用\)\ 2/Payload |
以上就完成了ipa包的反编译,方便学习大厂代码